In the area of wired conventional computer communications, terminals have been in use for at least 30 years. Terminals served as input-output devices, acting merely as an interface between a user and a remote computer. Typically, a terminal consisted of a screen and keyboard, with little or no processing power and no local storage. The terminal, or client, was connected to a host computer, usually a mainframe, by way of a serial line connection. This hard-wiring ensured the security of the transmissions between the host and the client. Characters entered on the terminal were transmitted to the host to be acted on by software resident thereon, and characters generated on the host by the software were transmitted back to the terminal for display to the user. An advantage of the terminal system was that it allowed multiple users to access the processing power and applications resident on the mainframe without attending at the mainframe location. In addition, because of their simple, rugged design, the terminals were inexpensive and tended to outlast early micro-computers.
The concept of terminals has been adapted for use with the Internet through the use of “net-boxes”. Essentially, the net-box is a terminal connected to a network by a coaxial or serial line connections so as to allow a user to access and execute software that is resident on remote computers. A net-box, like a terminal, has limited processing power and little or no local storage. It might have a simple operating system or front-end, but more complicated software is located remotely. As with the original terminal, this allows the net-box to be manufactured less expensively and with a simpler, more generic design than a personal computer. The simplicity of design reduces administration costs for such systems as a service provider can modify the functionality provided to the net-boxes simply by replacing the terminal, or application, server or by modifying its configuration to change the applications offered.
Mobile communication devices such as PDAs and mobile phones are simple computers with limited computational power and resources, such as storage, memory and clock frequency. Mobile communication devices can be equipped with client software to communicate with a remote server through a wireless network. Such devices are usually loaded with a few client applications either by the user, the manufacturer or the network operator. It is a common practice to distribute applications through the Internet. Some additional equipment such as a personal computer and special cables and connectors are needed to transfer the client application to the mobile communications device.
In case of GSM (global systems for mobile communications), the embedded SIM (subscriber identity module) card acts as the computer while the handset or device performs the function of the input/output device. SIM cards are preloaded with the desired applications and sent to end-users. Applications loaded onto the SIM card prior to sale to the end-user are primarily developed with a SIM toolkit, such as that available from Gemplus, that employ the SIM toolkit markup language (STKML). STKML is not unlike HTML and, as such, there is an inherently large overhead associated with transmitting commands that access remote device control functionality from an application server to a GSM device. End-users can only access applications resident on their SIM and, thus, need to update the applications on their SIM or obtain a new SIM to access new applications.
Updating such applications using SIM cards is an awkward process. One method is to update the SIM application via an OTA (Over-The-Air) platform. An OTA platform is effectively a computer equipped with the necessary software to remotely access a SIM card in a GSM phone and upload an application or other information onto the card. Even though utilizing an OTA platform for updating applications on a SIM card is theoretically possible, this method is not widely used. Uploading an application onto a remote SIM card over the air is a slow process. The application, typically five kilobytes in size, must be divided in fragments of approximately 140 bytes embedded in short messages. These messages are then sent to the SIM via SMS (short message service). For reliability, the OTA usually requests a delivery receipt from the handset. The risk for failure grows with the size of the application.
Another method of updating the applications on a SIM card is the connection of the handset or device to a computer by cable and the uploading of applications and data to the SIM card using software. A further method is the provisioning of a new SIM card to the end-user containing the updated applications is expensive as a new card must be securely mailed. Still further, the end-user must remove the currently-installed SIM card and replace it with the newer one.
Another method of application delivery for mobile devices is to provide a browser on the device, either as part of the handset or device, or on a SIM module. When the browser application is initiated by the handset, the browser fetches a generic page that includes links to other pages. The browser is not unlike a web browser on a desktop computer in that it is a request/response application; that is, it can only receive a page of information that it requests and cannot be forwarded a page or instructions that it did not request. Furthermore, many mobile devices are not equipped with a browser. Where provisioned, browser applications typically occupy seven kilobytes of the limited 16 to 32 kilobytes of memory that SIMs are typically provisioned with.
Further, information delivered to a browser on a mobile device is formatted in a markup language similar to HTML that, however, inherently has a large overhead associated with the tags defining formatting or other information, such as the location of a linked page.
Additionally, as browsers were designed to display simple information, they do not include the ability to execute instructions that would provide an application control over the device, such as the ability to dial a number on the handset.